Index: ioemu/hw/iommu.c
===================================================================
---- ioemu.orig/hw/iommu.c 2006-08-06 01:55:03.240628184 +0100
-+++ ioemu/hw/iommu.c 2006-08-06 02:18:54.843126039 +0100
+--- ioemu.orig/hw/iommu.c 2006-08-15 13:51:31.425498388 +0100
++++ ioemu/hw/iommu.c 2006-08-15 13:51:35.834011166 +0100
@@ -82,7 +82,11 @@
#define IOPTE_VALID 0x00000002 /* IOPTE is valid */
#define IOPTE_WAZ 0x00000001 /* Write as zeros */
Index: ioemu/cpu-all.h
===================================================================
---- ioemu.orig/cpu-all.h 2006-08-06 02:17:09.392881406 +0100
-+++ ioemu/cpu-all.h 2006-08-06 02:18:54.844125928 +0100
+--- ioemu.orig/cpu-all.h 2006-08-15 13:51:35.772018017 +0100
++++ ioemu/cpu-all.h 2006-08-15 13:51:35.835011055 +0100
@@ -835,6 +835,31 @@
:"=m" (*(volatile long *)addr)
:"dIr" (nr));
/* memory API */
Index: ioemu/vl.c
===================================================================
---- ioemu.orig/vl.c 2006-08-06 02:18:45.608155528 +0100
-+++ ioemu/vl.c 2006-08-06 02:18:54.847125593 +0100
+--- ioemu.orig/vl.c 2006-08-15 13:51:35.824012271 +0100
++++ ioemu/vl.c 2006-08-15 13:51:46.770802425 +0100
@@ -6140,6 +6140,11 @@
/* init the memory */
phys_ram_size = ram_size + vga_ram_size + bios_size;
phys_ram_base = qemu_vmalloc(phys_ram_size);
Index: ioemu/target-i386-dm/exec-dm.c
===================================================================
---- ioemu.orig/target-i386-dm/exec-dm.c 2006-08-06 02:15:01.776108064 +0100
-+++ ioemu/target-i386-dm/exec-dm.c 2006-08-06 02:18:54.848125482 +0100
+--- ioemu.orig/target-i386-dm/exec-dm.c 2006-08-15 13:51:35.705025421 +0100
++++ ioemu/target-i386-dm/exec-dm.c 2006-08-15 13:51:51.987225890 +0100
@@ -341,6 +341,23 @@
return io_mem_read[io_index >> IO_MEM_SHIFT];
}
/* physical memory access (slow version, mainly for debug) */
#if defined(CONFIG_USER_ONLY)
void cpu_physical_memory_rw(target_phys_addr_t addr, uint8_t *buf,
-@@ -456,6 +473,9 @@
- ptr = phys_ram_base + (pd & TARGET_PAGE_MASK) +
- (addr & ~TARGET_PAGE_MASK);
- memcpy(buf, ptr, l);
+@@ -432,6 +449,9 @@
+ /* RAM case */
+ ptr = phys_ram_base + addr1;
+ memcpy(ptr, buf, l);
+#ifdef __ia64__
+ sync_icache((unsigned long)ptr, l);
+#endif
- } else {
- /* unreported MMIO space */
- memset(buf, 0xff, len);
+ }
+ } else {
+ if (io_index) {
Index: ioemu/exec-all.h
===================================================================
---- ioemu.orig/exec-all.h 2006-08-06 02:14:09.796902750 +0100
-+++ ioemu/exec-all.h 2006-08-06 02:18:54.848125482 +0100
+--- ioemu.orig/exec-all.h 2006-08-15 13:51:35.682027963 +0100
++++ ioemu/exec-all.h 2006-08-15 13:51:35.839010613 +0100
@@ -462,12 +462,13 @@
}
#endif
Index: ioemu/target-i386-dm/cpu.h
===================================================================
---- ioemu.orig/target-i386-dm/cpu.h 2006-08-06 02:15:01.776108064 +0100
-+++ ioemu/target-i386-dm/cpu.h 2006-08-06 02:18:54.848125482 +0100
+--- ioemu.orig/target-i386-dm/cpu.h 2006-08-15 13:51:35.704025531 +0100
++++ ioemu/target-i386-dm/cpu.h 2006-08-15 13:51:35.839010613 +0100
@@ -80,7 +80,11 @@
/* helper2.c */
int main_loop(void);
Index: ioemu/ia64_intrinsic.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ ioemu/ia64_intrinsic.h 2006-08-06 02:18:54.849125370 +0100
++++ ioemu/ia64_intrinsic.h 2006-08-15 13:51:35.840010502 +0100
@@ -0,0 +1,276 @@
+#ifndef IA64_INTRINSIC_H
+#define IA64_INTRINSIC_H